home *** CD-ROM | disk | FTP | other *** search
- // Windows Media Player Transport Controls
-
- // All WMP Play and Open states are defined in skins\common\WMPStates.js
-
- var g_fIsLiveBroadcast = false;
-
- var g_strPlayImage="";
- var g_strPlayHover="";
- var g_strPlayDown="";
- var g_strPauseHover="";
- var g_strPauseDown="";
- var g_psPlayState=0;
- var g_osOpenState=0;
- var g_nDownloadProgress = 0;
-
- function InitMiniControls()
- {
- g_strPlayImage="res://wmploc.dll/RT_BITMAP/#373";
- g_strPlayHover="res://wmploc.dll/RT_BITMAP/#374";
- g_strPlayDown="res://wmploc.dll/RT_BITMAP/#375";
- g_strPauseUp="res://wmploc.dll/RT_BITMAP/#427";
- g_strPauseHover="res://wmploc.dll/RT_BITMAP/#423";
- g_strPauseDown="res://wmploc.dll/RT_BITMAP/#424";
-
- g_strMuteUp="res://wmploc.dll/RT_BITMAP/#365";
- g_strMuteHover="res://wmploc.dll/RT_BITMAP/#366";
- g_strMuteDown="res://wmploc.dll/RT_BITMAP/#367";
-
- g_strSoundUp="res://wmploc.dll/RT_BITMAP/#368";
- g_strSoundHover="res://wmploc.dll/RT_BITMAP/#369";
- g_strSoundDown="res://wmploc.dll/RT_BITMAP/#399";
-
- OnPlayStateChangeEvent();
- OnOpenStateChangeEvent();
- UpdateMuteButton();
- }
-
- function InitControls()
- {
- g_strPlayImage="res://wmploc.dll/RT_BITMAP/#294";
- g_strPlayHover="res://wmploc.dll/RT_BITMAP/#293";
- g_strPlayDown="res://wmploc.dll/RT_BITMAP/#292";
- g_strPauseUp="res://wmploc.dll/RT_BITMAP/#288";
- g_strPauseHover="res://wmploc.dll/RT_BITMAP/#289";
- g_strPauseDown="res://wmploc.dll/RT_BITMAP/#290";
-
- g_strMuteUp="res://wmploc.dll/RT_BITMAP/#282";
- g_strMuteHover="res://wmploc.dll/RT_BITMAP/#280";
- g_strMuteDown="res://wmploc.dll/RT_BITMAP/#281";
-
- g_strSoundUp="res://wmploc.dll/RT_BITMAP/#287";
- g_strSoundHover="res://wmploc.dll/RT_BITMAP/#285";
- g_strSoundDown="res://wmploc.dll/RT_BITMAP/#286";
-
- OnPlayStateChangeEvent();
- OnOpenStateChangeEvent();
- UpdateMuteButton();
- }
-
-
- function FormatString( value )
- {
- value = Math.round(value);
-
- var s = '';
- if ((value / 60) < 10)
- {
- s = '0';
- }
- s = s + Math.floor(value / 60);
-
- s = s + ':';
-
- if ((value % 60) < 10)
- {
- s = s + '0';
- }
- s = s + (value % 60);
- return s;
- }
-
- var metaDataItems = new Array("Clip", "Title", "Show", "WM/AlbumTitle", "Name", "Author", "Copyright");
- var metaDataNames = new Array("Clip", "Title", "Show", "Album", "Name", "Author", "Copyright");
-
- var g_iLastMetaDataIndex = 0;
- var g_iLastTickCount = 0;
- var g_iTickCount = 0;
-
- function UpdateMetaData()
- {
- var str = "";
-
- if (g_iTickCount > (g_iLastTickCount + 25))
- {
- for (i = 0; i < metaDataItems.length; i++)
- {
- g_iLastMetaDataIndex = (g_iLastMetaDataIndex + 1) % metaDataItems.length;
- str = player.currentmedia.getiteminfo(metaDataItems[g_iLastMetaDataIndex]);
- if (str != "")
- {
- str = ' ' + metaDataNames[g_iLastMetaDataIndex] + ': ' + str;
- break;
- }
- }
-
- g_iLastTickCount = g_iTickCount;
- metadata.value = str;
- }
- }
-
- function UpdateReceptionQuality(playstatestr )
- {
- if (g_fIsLiveBroadcast)
- {
- var nReceptionQuality = player.Network.receptionQuality;
- if (nReceptionQuality > 0)
- {
- if(nReceptionQuality == 100)
- {
- QualityIcon.image = "res://wmploc.dll/RT_IMAGE/qbest.gif";
- QualityIcon.upToolTip="Perfect Reception";
- }
- else if(nReceptionQuality < 99 && nReceptionQuality > 86 )
- {
- QualityIcon.image = "res://wmploc.dll/RT_IMAGE/qOK.gif";
- QualityIcon.upToolTip="Network Congestion";
- }
- else if(nReceptionQuality < 86 && nReceptionQuality > 0 )
- {
- QualityIcon.image = "res://wmploc.dll/RT_IMAGE/qbad.gif";
- QualityIcon.upToolTip="Poor reception";
- }
- }
- }
-
- var nNetBitRate = player.Network.bitrate;
-
- if (nNetBitRate > 0)
- {
- var kbps = Math.floor((player.Network.bitrate / 1000));
- psInfo.value=playstatestr + " (" + kbps + " Kbps)";
- psInfo.tooltip = psInfo.value;
- }
-
- }
-
-
- function OnTimerTickEvent()
- {
- g_iTickCount += 1;
-
- if (osMediaOpen == g_osOpenState)
- {
- if ((g_nDownloadProgress >= 0) && (g_nDownloadProgress < 100))
- {
- g_nDownloadProgress = player.network.downloadProgress;
- metadata.value = " Downloading..." + g_nDownloadProgress + "%";
- }
- else
- {
- UpdateMetaData();
- }
-
- switch(g_psPlayState)
- {
- case psUndefined:
- break;
-
- case psScanForward:
- tracktime.value = FormatString(player.controls.currentposition);
- UpdateReceptionQuality("Fast Forwarding");
- break;
-
- case psScanReverse:
- tracktime.value = FormatString(player.controls.currentposition);
- UpdateReceptionQuality("Rewinding");
- break;
-
- case psPlaying:
- tracktime.value = FormatString(player.controls.currentposition);
- UpdateReceptionQuality("Playing");
- break;
-
- case psBuffering:
- var nBuffProgress = player.Network.bufferingProgress;
- metadata.value = nBuffProgress + "%";
- QualityIcon.image = "res://wmploc.dll/RT_IMAGE/buffering.gif";
- QualityIcon.upToolTip="Buffering";
- break;
-
- default:
- // Do nothing.
- }
-
- }
-
- }
-
-
- function OnURLChange()
- {
- view.title = player.URL;
- }
-
- function StopPlaying()
- {
- tracktime.value = "0:00";
- }
-
-
- function OnPlayStateChangeEvent()
- {
- g_psPlayState = player.PlayState;
- switch (g_psPlayState)
- {
- case psUndefined:
- psInfo.value="";
- seek.foregroundProgress = seek.min;
- play.image=g_strPlayImage;
- play.disabledImage=g_strPlayImage;
- play.hoverImage=g_strPlayHover;
- play.downImage=g_strPlayDown;
- play.upToolTip="Play";
- play.enabled="true";
- rew.down="false";
- ffwd.down="false";
- break;
-
- case psStopped:
- psInfo.value="Stopped";
- QualityIcon.visible=true;
- QualityIcon.image = "res://wmploc.dll/RT_IMAGE/stopped.gif";
- QualityIcon.upToolTip = "Playback stopped";
- play.image=g_strPlayImage;
- play.disabledImage=g_strPlayImage;
- play.hoverImage=g_strPlayHover;
- play.downImage=g_strPlayDown;
- play.upToolTip="Play";
- play.enabled="true";
- ffwd.down="false";
- rew.down="false";
- break;
-
- case psPaused:
- psInfo.value="Paused";
- QualityIcon.visible=true;
- QualityIcon.image = "res://wmploc.dll/RT_IMAGE/paused.gif";
- QualityIcon.upToolTip = "Playback paused";
- play.image=g_strPlayImage;
- play.disabledImage=g_strPlayImage;
- play.hoverImage=g_strPlayHover;
- play.downImage=g_strPlayDown;
- play.upToolTip="Play";
- play.enabled="true";
- ffwd.down="false";
- rew.down="false";
- break;
-
- case psPlaying:
- psInfo.value="Playing";
- QualityIcon.visible= g_fIsLiveBroadcast;
- play.image=g_strPauseUp;
- play.disabledImage=g_strPauseUp;
- play.hoverImage=g_strPauseHover;
- play.downImage=g_strPauseDown;
- play.upToolTip="Pause";
- play.enabled=!g_fIsLiveBroadcast;
- ffwd.down="false";
- rew.down="false";
- break;
-
- case psWaiting:
- psInfo.value="Waiting";
- QualityIcon.visible= g_fIsLiveBroadcast;
- play.Image=g_strPauseUp;
- play.disabledImage=g_strPauseUp;
- play.hoverImage=g_strPauseHover;
- play.downImage=g_strPauseDown;
- play.upToolTip="Pause";
- play.enabled=!g_fIsLiveBroadcast;
- rew.down="false";
- ffwd.down="false";
- break;
-
- case psScanForward:
- play.Image=g_strPauseUp;
- QualityIcon.visible= g_fIsLiveBroadcast;
- play.hoverImage=g_strPauseHover;
- play.disabledImage=g_strPauseUp;
- play.downImage=g_strPauseDown;
- play.upToolTip="Pause";
- play.enabled=!g_fIsLiveBroadcast;
- psInfo.value="Fast Forwarding";
- rew.down="false";
- ffwd.down="true";
- break;
-
- case psScanReverse:
- play.Image=g_strPauseUp;
- QualityIcon.visible= g_fIsLiveBroadcast;
- play.hoverImage=g_strPauseHover;
- play.disabledImage=g_strPauseUp;
- play.downImage=g_strPauseDown;
- play.upToolTip="Pause";
- play.enabled=!g_fIsLiveBroadcast;
- psInfo.value="Fast Forwarding";
- psInfo.value="Rewinding";
- rew.down="true";
- ffwd.down="false";
- break;
-
- case psBuffering:
- if (osMediaOpen == g_osOpenState)
- {
- QualityIcon.visible=true;
- psInfo.value="Buffering";
- }
- break;
-
- case psMediaEnded:
- psInfo.value="Media ended";
- break;
- }
-
- psInfo.tooltip = psInfo.value;
- }
-
-
- function playOnClick()
- {
- if ((player.PlayState == psPlaying)||
- (player.PlayState == psScanReverse) ||
- (player.PlayState == psScanForward))
- {
- player.controls.pause();
- }
- else
- {
- player.controls.play();
- }
- OnPlayStateChangeEvent();
- }
-
- function volumeOnChange()
- {
- player.settings.mute=false;
- UpdateMuteButton();
- }
-
- function muteOnClick()
- {
- if (player.settings.mute == true)
- {
- player.settings.mute=false;
- }
- else
- {
- player.settings.mute=true;
- }
- UpdateMuteButton();
- }
-
- function UpdateMuteButton()
- {
- /*
- if (player.settings.mute == true)
- {
- mute.upToolTip = "Sound";
- mute.image = g_strMuteUp;
- mute.hoverImage = g_strMuteHover;
- mute.downImage = g_strMuteDown;
- }
- else
- {
- mute.upToolTip = "Mute";
- mute.image = g_strSoundUp;
- mute.hoverImage = g_strSoundHover;
- mute.downImage = g_strSoundDown;
- }
- */
- }
-
- function OnOpenStateChangeEvent()
- {
- var temp, str, strType;
-
- g_osOpenState = player.OpenState;
-
- switch (g_osOpenState)
- {
- case osUndefined:
- play.enabled="false";
- metadata.value = "";
- break;
- case osMediaOpen:
- strType = player.currentmedia.getiteminfo("Type");
- if (strType == "broadcast")
- {
- g_fIsLiveBroadcast = true;
- }
- else
- {
- g_fIsLiveBroadcast = false;
- }
- seek.enabled = !g_fIsLiveBroadcast;
- play.enabled="true";
- metadata.value = "";
- break;
- case osPlaylistChanging:
- play.enabled="false";
- metadata.value = " Playlist changing";
- break;
- case osPlaylistLocating:
- play.enabled="false";
- metadata.value = " Locating playlist";
- break;
- case osPlaylistConnecting:
- play.enabled="false";
- metadata.value = " Connecting playlist";
- break;
- case osPlaylistLoading:
- play.enabled="false";
- metadata.value = " Loading playlist";
- break;
- case osPlaylistOpening:
- play.enabled="false";
- metadata.value = " Opening playlist";
- break;
- case osPlaylistOpenNoMedia:
- play.enabled="true";
- metadata.value = " Playlist: No Open Media";
- break;
- case osPlaylistChanged:
- play.enabled="true";
- metadata.value = "";
- break;
- case osMediaChanging:
- play.enabled="false";
- metadata.value = " Media Changing";
- QualityIcon.visible = false;
- break;
- case osMediaLocating:
- play.enabled="false";
- metadata.value = " Locating Media";
- QualityIcon.visible=true;
- QualityIcon.image = "res://wmploc.dll/RT_IMAGE/locating.gif";
- QualityIcon.upToolTip="Locating Media";
- break;
- case osMediaConnecting:
- play.enabled="false";
- metadata.value = " Connecting";
- QualityIcon.visible=true;
- QualityIcon.image = "res://wmploc.dll/RT_IMAGE/locating.gif"; // uses same image as Locating
- QualityIcon.upToolTip="Connecting";
- break;
- case osMediaLoading:
- play.enabled="false";
- metadata.value = " Loading Media";
- break;
- case osMediaWaiting:
- strType = player.currentmedia.getiteminfo("Type");
- if (strType == "broadcast")
- {
- g_fIsLiveBroadcast = true;
- }
- else
- {
- g_fIsLiveBroadcast = false;
- }
- play.enabled="false";
- metadata.value = " Waiting";
- g_nDownloadProgress = 0;
- break;
- case osMediaOpening:
- play.enabled="false";
- metadata.value = " Opening Media";
- QualityIcon.visible=true;
- QualityIcon.image = "res://wmploc.dll/RT_IMAGE/opening.gif";
- QualityIcon.upToolTip="Opening";
- g_nDownloadProgress = 0;
- break;
- case osCodecServerLocating:
- play.enabled="false";
- metadata.value = " Locating codec server";
- break;
- case osCodecServerConnecting:
- play.enabled="false";
- metadata.value = " Connecting to codec server";
- break;
- case osCodecServerLoading:
- play.enabled="false";
- metadata.value = " Downloading codec";
- break;
- case osCodecInstalling:
- play.enabled="false";
- metadata.value = " Installing codec";
- break;
- case osBeginLicenseAcquisition:
- play.enabled="false";
- metadata.value = " Starting license acquisition";
- break;
- case osEndLicenseAcquisition:
- play.enabled="false";
- metadata.value = " Done acquiring license";
- break;
- case osBeginIndividualization:
- play.enabled="false";
- metadata.value = " Starting Individualization";
- break;
- case osEndIndividualization:
- play.enabled="false";
- metadata.value = " Done Individualizing";
- break;
- default:
- // This should never happen
- play.enabled="false";
- }
-
- }
-
- function OnDisconnect()
- {
- psInfo.value="Disconnected";
- psInfo.tooltip = psInfo.value;
- }
-